package com.cy.ppj.model.vo;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;

import com.cy.ppj.model.enums.ApplyStatus;
import com.cy.ppj.model.enums.OrderRejectType;
import com.cy.ppj.model.enums.OrderStatus;
import com.cy.ppj.model.enums.Process;

import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 后台订单列表显示字段
 * @author: tanyilin
 * @create: 2018年7月30日 下午4:43:18
 */
@Data
@ApiModel("后台订单列表显示字段")
public class OrderAdminVO {

	@ApiModelProperty(value = "订单id", example = "0")
	private Long id;
	
	@ApiModelProperty(value = "客户姓名")
	private String customerName;
	
	@ApiModelProperty(value = "客户身份证号码")
	private String idNo;
	
	@ApiModelProperty(value = "产品id", example = "0")
	private Long productId;
	
	@ApiModelProperty(value = "产品名称")
	private String productName;
	
	@ApiModelProperty(value = "借款金额", example = "0.00")
	private BigDecimal loanAmount;
	
	@ApiModelProperty(value = "借款期限", example = "0")
	private Integer periods;
	
	@ApiModelProperty(value = "申请时间")
	private Date createTime;
	
	@ApiModelProperty(value = "更新时间")
	private Date updateTime;
	
	@ApiModelProperty(value = "放款时间")
	private Date loanTime;
	
	@ApiModelProperty(value = "订单当前审核状态")
	private OrderStatus orderStatus;

	@ApiModelProperty(value = "订单当前审核状态文案")
	private String orderStatusText;
	
	@ApiModelProperty(value = "当前流程")
	private Process process;
	
	@ApiModelProperty(value = "当前流程名称")
	private String processRemark;
	
	@ApiModelProperty(value = "代扣点数", example = "0.00")
	private BigDecimal withholdRate;
	
	@ApiModelProperty(value = "佣金点数", example = "0.00")
	private BigDecimal commissionRate;
	
	@ApiModelProperty(value = "代扣点数文本")
	private String withholdRateText;
	
	@ApiModelProperty(value = "佣金点数文本")
	private String commissionRateText;
	
	@ApiModelProperty(value = "已分配的用户姓名")
	private String assignUserName;
	
	@ApiModelProperty(value = "（经纪人）姓名")
	private String recommenderName;
	
	@ApiModelProperty(value = "（经纪人）手机号码")
	private String recommenderMobile;
	
	@ApiModelProperty(value = "外部单号")
	private String extNo;
	
	@ApiModelProperty(value = "银行名称")
	private String bankName;
	
	@ApiModelProperty(value = "银行账户")
	private String bankAccount;
	
	@ApiModelProperty(value = "客户银行账户名")
	private String customerAccountName;
	
	@ApiModelProperty(value = "订单总状态")
	private ApplyStatus applyStatus;
	
	@ApiModelProperty(value = "是否有复议流程")
	private Boolean haveReviewProcess;

	@ApiModelProperty(value = "所属城市")
	private String city;
	
	@JsonIgnore
	private List<Process> processes;
	
	@ApiModelProperty(value = "拒绝类型")
	private OrderRejectType rejectType;
	
	@ApiModelProperty(value = "拒绝类型文案")
	private String rejectTypeRemark;
	
	@ApiModelProperty(value = "原因")
	private String rejectReason;
	
	@ApiModelProperty(value = "上级经纪人姓名")
	private String u1SalesName;
	
	@ApiModelProperty(value = "上上级经纪人姓名")
	private String u2SalesName;
	
	@ApiModelProperty(value = "源头经纪人姓名")
	private String salesName;
}
